/*
Problem Description
输入一个十进制数N，将它转换成R进制数输出。
Input
输入数据包含多个测试实例，每个测试实例包含两个整数N(32位整数)和R（2<=R<=16, R<>10）。
Output
为每个测试实例输出转换后的数，每个输出占一行。如果R大于10，则对应的数字规则参考16进制（比如，10用A表示，等等）。
Sample Input
7 2
23 12
-4 3
Sample Output
111
1B
-11
 */
package com.yuan.algorithms.practice201503;

import java.util.Scanner;

public class 进制转换 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		char[] map = {'A','B','C','D','E','F'};
		while (sc.hasNext()) {
			StringBuffer sb = new StringBuffer();
			int z = 0;
			int n = sc.nextInt();
			int m = sc.nextInt();
			if (n<0) {
				z = 1;
				n *= -1;
			}
			while (n!=0) {
				int t = n%m;
				if (t>9) {
					sb.append(map[t-10]);
				}else {
					sb.append(n%m);
				}
				n/=m;
			}
			if (z==1) {
				System.out.println("-"+sb.reverse());
			}else {
				System.out.println(sb.reverse());
			}
		}
	}
}
